From: Guilherme Silva Date: Sun, 31 Jan 2021 04:11:18 +0000 (-0300) Subject: notificationDaemon: Fix icon-choosing logic X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~515 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=779e66ae8888550106c81a9d6f833fb0111ef822;p=gnome-shell.git notificationDaemon: Fix icon-choosing logic 'image-data' (or 'image-path') should take precedence over 'app-icon', even when both are sent by the application (e.g. Google Chrome). Fixes #3616. Part-of: --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 38f81c381..f94edb65c 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -240,19 +240,13 @@ var FdoNotificationDaemon = class FdoNotificationDaemon { }); } - let gicon = this._iconForNotificationData(icon); - let gimage = this._imageForNotificationData(hints); - - // If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon - // and don't show a large image. There are currently many applications that use - // notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets - // the 'image-data' hint. These applications don't typically pass in 'app_icon' - // argument to Notify() and actually expect the pixbuf to be shown as an icon. - // So the logic here does the right thing for this case. If both an icon and either - // one of 'image-data' or 'image-path' are specified, the icon and takes precedence. - if (!gicon && gimage) - gicon = gimage; - else if (!gicon) + // 'image-data' (or 'image-path') takes precedence over 'app-icon'. + let gicon = this._imageForNotificationData(hints); + + if (!gicon) + gicon = this._iconForNotificationData(icon); + + if (!gicon) gicon = this._fallbackIconForNotificationData(hints); notification.update(summary, body, { gicon,